package com.shuda.business.channel.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;

/**
 * 数据池实体类：移除Lombok，显式提供访问器，确保Service层调用兼容。
 */
@TableName("t_data_pool")
@Schema(name = "DataPoolEntity", description = "数据池实体")
public class DataPoolEntity {

    @TableId(value = "id", type = IdType.AUTO)
    @Schema(description = "主键ID")
    private Long id;

    @Schema(description = "数据池名称")
    private String poolName;

    @Schema(description = "数据池类型(customer_data-客户数据,lead_data-线索数据,product_data-产品数据)")
    private String poolType;

    @Schema(description = "数据池容量")
    private Integer capacity;

    @Schema(description = "数据数量")
    private Integer dataCount;

    @Schema(description = "数据池配置(JSON)")
    private String poolConfig;

    @Schema(description = "状态(enabled-启用,disabled-禁用)")
    private String status;

    @Schema(description = "描述信息")
    private String description;

    @Schema(description = "创建人")
    private String createBy;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新人")
    private String updateBy;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "删除标记")
    private Integer deleted;

    /** 获取主键ID */
    public Long getId() { return id; }
    /** 设置主键ID */
    public void setId(Long id) { this.id = id; }

    /** 获取数据池名称 */
    public String getPoolName() { return poolName; }
    /** 设置数据池名称 */
    public void setPoolName(String poolName) { this.poolName = poolName; }

    /** 获取数据池类型 */
    public String getPoolType() { return poolType; }
    /** 设置数据池类型 */
    public void setPoolType(String poolType) { this.poolType = poolType; }

    /** 获取数据池容量 */
    public Integer getCapacity() { return capacity; }
    /** 设置数据池容量 */
    public void setCapacity(Integer capacity) { this.capacity = capacity; }

    /** 获取数据数量 */
    public Integer getDataCount() { return dataCount; }
    /** 设置数据数量 */
    public void setDataCount(Integer dataCount) { this.dataCount = dataCount; }

    /** 获取数据池配置 */
    public String getPoolConfig() { return poolConfig; }
    /** 设置数据池配置 */
    public void setPoolConfig(String poolConfig) { this.poolConfig = poolConfig; }

    /** 获取状态 */
    public String getStatus() { return status; }
    /** 设置状态 */
    public void setStatus(String status) { this.status = status; }

    /** 获取描述信息 */
    public String getDescription() { return description; }
    /** 设置描述信息 */
    public void setDescription(String description) { this.description = description; }

    /** 获取创建人 */
    public String getCreateBy() { return createBy; }
    /** 设置创建人 */
    public void setCreateBy(String createBy) { this.createBy = createBy; }

    /** 获取创建时间 */
    public LocalDateTime getCreateTime() { return createTime; }
    /** 设置创建时间 */
    public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; }

    /** 获取更新人 */
    public String getUpdateBy() { return updateBy; }
    /** 设置更新人 */
    public void setUpdateBy(String updateBy) { this.updateBy = updateBy; }

    /** 获取更新时间 */
    public LocalDateTime getUpdateTime() { return updateTime; }
    /** 设置更新时间 */
    public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; }

    /** 获取删除标记 */
    public Integer getDeleted() { return deleted; }
    /** 设置删除标记 */
    public void setDeleted(Integer deleted) { this.deleted = deleted; }
}